home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / tools / ToolProvider$Lazy.class (.txt) < prev   
Encoding:
Java Class File  |  2006-11-29  |  2.0 KB  |  56 lines

  1. package javax.tools;
  2.  
  3. import java.io.File;
  4. import java.net.MalformedURLException;
  5. import java.net.URL;
  6. import java.net.URLClassLoader;
  7.  
  8. class ToolProvider$Lazy {
  9.    private static final String defaultJavaCompilerName = "com.sun.tools.javac.api.JavacTool";
  10.    private static final String[] defaultToolsLocation = new String[]{"lib", "tools.jar"};
  11.    static final Class<? extends JavaCompiler> compilerClass;
  12.  
  13.    private static Class<?> findClass() throws MalformedURLException, ClassNotFoundException {
  14.       try {
  15.          return enableAsserts(Class.forName("com.sun.tools.javac.api.JavacTool", false, (ClassLoader)null));
  16.       } catch (ClassNotFoundException var5) {
  17.          File var0 = new File(System.getProperty("java.home"));
  18.          if (var0.getName().equalsIgnoreCase("jre")) {
  19.             var0 = var0.getParentFile();
  20.          }
  21.  
  22.          for(String var4 : defaultToolsLocation) {
  23.             var0 = new File(var0, var4);
  24.          }
  25.  
  26.          URL[] var6 = new URL[]{var0.toURI().toURL()};
  27.          URLClassLoader var7 = URLClassLoader.newInstance(var6);
  28.          ((ClassLoader)var7).setPackageAssertionStatus("com.sun.tools.javac", true);
  29.          return Class.forName("com.sun.tools.javac.api.JavacTool", false, var7);
  30.       }
  31.    }
  32.  
  33.    private static Class<?> enableAsserts(Class<?> var0) {
  34.       try {
  35.          ClassLoader var1 = var0.getClassLoader();
  36.          if (var1 != null) {
  37.             var1.setPackageAssertionStatus("com.sun.tools.javac", true);
  38.          }
  39.       } catch (SecurityException var2) {
  40.       }
  41.  
  42.       return var0;
  43.    }
  44.  
  45.    static {
  46.       Class var0 = null;
  47.  
  48.       try {
  49.          var0 = findClass().asSubclass(JavaCompiler.class);
  50.       } catch (Throwable var2) {
  51.       }
  52.  
  53.       compilerClass = var0;
  54.    }
  55. }
  56.